3.5.6 DRAM間接参照
DARはグループごとに存在する。
よって、グループごとに異なるDRAMアドレスにアクセスすることが可能である。 アドレス語の単位は6長語である*^2 。
間接参照の単位は6長語である。
すなわち、MV命令の基本モードに関わらず、DRAMに6長語アクセスするごとに次のアドレス語を用いる。 このとき、6長語アクセスの回数iに対し、6長語単位DRAMアドレスの最終的な値はDAR$ [(\frac{M+i}N)\%1024]+i\%N となる。 すなわち、N回の間はDARのあるエントリの値をオフセットとしてDRAMを連続アクセスし、その後DARの次のエントリの値を新たなオフセットとし、以降繰り返す。 l2bmdarw命令によりDARに書き込んだデータが有効になる直前のサイクルまではそのDARのエントリからは前のデータが読める。 ndを省略した場合Nは無限大、すなわちアドレスはDAR$ [M] +i となる。3.5.8 MV命令の基本モードで述べるMV命令の基本モードの解説ではDRAM間接参照モード時の記述は省略する。 code:例
mvp/n256nd4 $p1600@1 $di512@2
code:txt
for i= 0:16
uint_t src_addr= 1600 + 16 *i
uint_t dst_addr= 16 * (MEM2.dar512+i/4 + (i% 4)) *^2 16長語× 32 ビット分の容量のDRAMが実装されているわけではない。
実装されていない領域に相当するビットは無視される。